作者:zhoujinchen | 来源:互联网 | 2024-12-23 12:13
Python Pandas 库中的 Series.round() 方法详解
Python 是一种强大的数据分析工具,主要得益于其丰富的以数据为中心的库生态系统,如 Pandas。Pandas 提供了便捷的数据导入和分析功能,使得数据处理更加高效。
在进行数学运算时,结果往往会包含大量的小数位数。Pandas 的 Series.round() 方法可以用来对这些小数值进行四舍五入处理,简化输出结果。
语法: Series.round(decimals=0, *args, **kwargs)
参数:
- decimals: 整数,指定需要保留的小数位数,默认为 0。
- 返回类型: 更新后的 Series 对象
为了演示此方法的使用,我们将使用一个 NBA 球员数据集,并对其进行一些操作。以下是数据集的原始结构:
示例:
由于原始数据集中没有超过一位小数的序列,因此我们首先将“薪金”列除以“体重”列,生成一个新的带有小数的序列。然后,我们使用 round() 方法对该序列进行四舍五入处理,并创建两个新的列来展示不同精度的结果。此外,我们还使用 dropna() 方法删除了空行,以避免潜在的错误。
Python 代码示例
# 导入 pandas 模块
import pandas as pd
# 创建数据框
data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv")
# 删除空值以避免错误
data.dropna(inplace = True)
# 创建新列,计算薪金与体重的比值
data["New_Salary"] = data["Salary"].div(data['Weight'])
# 四舍五入并存储在新列中
data['Rounded_Salary'] = data['New_Salary'].round()
# 定义最大小数位数
dec_places = 2
# 再次四舍五入并存储在新列中
data['Rounded_Salary_2'] = data['New_Salary'].round(dec_places)
# 显示前 10 行数据
data.head(10)
输出:
如输出图像所示,新列 Rounded_Salary 中的值已经完全四舍五入,而 Rounded_Salary_2 列则保留了两位小数。